<?php
namespace data;
/**
 * 平台数据层 基础抽象类
 */
abstract class BaseData {    
    
    /**
     * 校验添加或修改的数据合法性并赋值
     * @param $check 对数据进行检查的规则
     * [[  
            'check' =>'must',            // 是否必填
            'msg'   =>'代理商ID不能为空',    // 检测失败的 提示信息
            'reg'   =>'int'        // 检测规则 int (必须数字); account/mobile/tel 已定义的正则 ; [ 1,2,3] 自定义范围
                      gt:0 // lt:100 bt:1:10
            'val'   =>SYS_TIME, // 返回自定义值
            'def'   => 1 ,  // 默认值
        ]]
     * @param $data 需要校验的数据
     */
    protected function verifyData($check,$data){
        return \core\helper\Verify::checks($check,$data,'dataE');
    }
    
    /**
     * 解析限制条件参数
     * @param $setField 设置允许查询的条件字段 
     * @param $param 设置外部传进来的参数
     * 字段参数的默认值 、限制条件、查询方式格式：
     * 默认值方式 ：
     * 'key'=> 1 、'key'=>[1,2,3] 表示默认值 等 1 和 在 [1,2,3]
     * 查询方式
     * 'key'=>'like' 表示 like 查询
     * 'key'=>'elt' /  'key'=>'egt' / 'key'=>'lt' / 'key'=>'gt'
     * 查询方式加默认值
     * 'key'=>'neq:1' 表示默认值 不等于 1 
     * 其他查询方式
     * 'key'=>'between:[aa,bb]' 表示查询在 aa < key < bb 的区间查询
     */
    protected function parseWhere($fields,$param){
        return \core\helper\Conversion::parseWhere($fields,$param);
    }
}